<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Os1: g2o::SparseBlockMatrixCCS&lt; MatrixType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Os1
   &#160;<span id="projectnumber">1</span>
   </div>
   <div id="projectbrief">OrbSlam2 documentado y modificado</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,'Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classg2o_1_1_sparse_block_matrix_c_c_s.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classg2o_1_1_sparse_block_matrix_c_c_s-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">g2o::SparseBlockMatrixCCS&lt; MatrixType &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Sparse matrix which uses blocks.  
 <a href="classg2o_1_1_sparse_block_matrix_c_c_s.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="sparse__block__matrix__ccs_8h_source.html">sparse_block_matrix_ccs.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structg2o_1_1_sparse_block_matrix_c_c_s_1_1_row_block.html">RowBlock</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A block within a column.  <a href="structg2o_1_1_sparse_block_matrix_c_c_s_1_1_row_block.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a4fc5dfe0a9ff9bd62065ca4b17f25bc1"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="structg2o_1_1_sparse_block_matrix_c_c_s_1_1_row_block.html">RowBlock</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a4fc5dfe0a9ff9bd62065ca4b17f25bc1">SparseColumn</a></td></tr>
<tr class="separator:a4fc5dfe0a9ff9bd62065ca4b17f25bc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41ea1c8c9d94a25544903ae8345c0354"><td class="memItemLeft" align="right" valign="top">typedef MatrixType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a41ea1c8c9d94a25544903ae8345c0354">SparseMatrixBlock</a></td></tr>
<tr class="memdesc:a41ea1c8c9d94a25544903ae8345c0354"><td class="mdescLeft">&#160;</td><td class="mdescRight">this is the type of the elementary block, it is an Eigen::Matrix.  <a href="#a41ea1c8c9d94a25544903ae8345c0354">More...</a><br /></td></tr>
<tr class="separator:a41ea1c8c9d94a25544903ae8345c0354"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a30586863195a37c6ac87d7fb17376ee7"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a4fc5dfe0a9ff9bd62065ca4b17f25bc1">SparseColumn</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a30586863195a37c6ac87d7fb17376ee7">blockCols</a> () const</td></tr>
<tr class="memdesc:a30586863195a37c6ac87d7fb17376ee7"><td class="mdescLeft">&#160;</td><td class="mdescRight">the block matrices per block-column  <a href="#a30586863195a37c6ac87d7fb17376ee7">More...</a><br /></td></tr>
<tr class="separator:a30586863195a37c6ac87d7fb17376ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a9ef3cd8399a335edec8b7e934192b8"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a4fc5dfe0a9ff9bd62065ca4b17f25bc1">SparseColumn</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a5a9ef3cd8399a335edec8b7e934192b8">blockCols</a> ()</td></tr>
<tr class="separator:a5a9ef3cd8399a335edec8b7e934192b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b25e7158b6d546920161db15d279d67"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a6b25e7158b6d546920161db15d279d67">colBaseOfBlock</a> (int c) const</td></tr>
<tr class="memdesc:a6b25e7158b6d546920161db15d279d67"><td class="mdescLeft">&#160;</td><td class="mdescRight">where does the col at block-col r start?  <a href="#a6b25e7158b6d546920161db15d279d67">More...</a><br /></td></tr>
<tr class="separator:a6b25e7158b6d546920161db15d279d67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfc832a66dc5437ebb2d820b0a1104b9"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#adfc832a66dc5437ebb2d820b0a1104b9">colBlockIndices</a> () const</td></tr>
<tr class="memdesc:adfc832a66dc5437ebb2d820b0a1104b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">indices of the column blocks  <a href="#adfc832a66dc5437ebb2d820b0a1104b9">More...</a><br /></td></tr>
<tr class="separator:adfc832a66dc5437ebb2d820b0a1104b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52c6a8fec1da43ee12f74b4704ee470f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a52c6a8fec1da43ee12f74b4704ee470f">cols</a> () const</td></tr>
<tr class="memdesc:a52c6a8fec1da43ee12f74b4704ee470f"><td class="mdescLeft">&#160;</td><td class="mdescRight">columns of the matrix  <a href="#a52c6a8fec1da43ee12f74b4704ee470f">More...</a><br /></td></tr>
<tr class="separator:a52c6a8fec1da43ee12f74b4704ee470f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c466f15cdac837586e156c0f2655471"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a3c466f15cdac837586e156c0f2655471">colsOfBlock</a> (int c) const</td></tr>
<tr class="memdesc:a3c466f15cdac837586e156c0f2655471"><td class="mdescLeft">&#160;</td><td class="mdescRight">how many cols does the block at block-col c has?  <a href="#a3c466f15cdac837586e156c0f2655471">More...</a><br /></td></tr>
<tr class="separator:a3c466f15cdac837586e156c0f2655471"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1751f9966ed8ab54d5a2942388407261"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a1751f9966ed8ab54d5a2942388407261">fillCCS</a> (int *Cp, int *Ci, double *Cx, bool upperTriangle=false) const</td></tr>
<tr class="memdesc:a1751f9966ed8ab54d5a2942388407261"><td class="mdescLeft">&#160;</td><td class="mdescRight">fill the CCS arrays of a matrix, arrays have to be allocated beforehand  <a href="#a1751f9966ed8ab54d5a2942388407261">More...</a><br /></td></tr>
<tr class="separator:a1751f9966ed8ab54d5a2942388407261"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bb0a7087552ec2d777c64de43d955f1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a6bb0a7087552ec2d777c64de43d955f1">fillCCS</a> (double *Cx, bool upperTriangle=false) const</td></tr>
<tr class="memdesc:a6bb0a7087552ec2d777c64de43d955f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">fill the CCS arrays of a matrix, arrays have to be allocated beforehand.  <a href="#a6bb0a7087552ec2d777c64de43d955f1">More...</a><br /></td></tr>
<tr class="separator:a6bb0a7087552ec2d777c64de43d955f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade50ae61556e057549a64962b55ec194"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#ade50ae61556e057549a64962b55ec194">rightMultiply</a> (double *&amp;dest, const double *src) const</td></tr>
<tr class="separator:ade50ae61556e057549a64962b55ec194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa687d275090226a00f2685d66d134fcd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#aa687d275090226a00f2685d66d134fcd">rowBaseOfBlock</a> (int r) const</td></tr>
<tr class="memdesc:aa687d275090226a00f2685d66d134fcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">where does the row at block-row r start?  <a href="#aa687d275090226a00f2685d66d134fcd">More...</a><br /></td></tr>
<tr class="separator:aa687d275090226a00f2685d66d134fcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafbd3a59409bcf2d518cda71d8a33229"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#aafbd3a59409bcf2d518cda71d8a33229">rowBlockIndices</a> () const</td></tr>
<tr class="memdesc:aafbd3a59409bcf2d518cda71d8a33229"><td class="mdescLeft">&#160;</td><td class="mdescRight">indices of the row blocks  <a href="#aafbd3a59409bcf2d518cda71d8a33229">More...</a><br /></td></tr>
<tr class="separator:aafbd3a59409bcf2d518cda71d8a33229"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad98ce4c84411c9982b06a025ad94ce57"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#ad98ce4c84411c9982b06a025ad94ce57">rows</a> () const</td></tr>
<tr class="memdesc:ad98ce4c84411c9982b06a025ad94ce57"><td class="mdescLeft">&#160;</td><td class="mdescRight">rows of the matrix  <a href="#ad98ce4c84411c9982b06a025ad94ce57">More...</a><br /></td></tr>
<tr class="separator:ad98ce4c84411c9982b06a025ad94ce57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02af79eca0a8b405087947a733b0140c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a02af79eca0a8b405087947a733b0140c">rowsOfBlock</a> (int r) const</td></tr>
<tr class="memdesc:a02af79eca0a8b405087947a733b0140c"><td class="mdescLeft">&#160;</td><td class="mdescRight">how many rows does the block at block-row r has?  <a href="#a02af79eca0a8b405087947a733b0140c">More...</a><br /></td></tr>
<tr class="separator:a02af79eca0a8b405087947a733b0140c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6500e67cc29b3fe51bc40930d97d0ac5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a6500e67cc29b3fe51bc40930d97d0ac5">sortColumns</a> ()</td></tr>
<tr class="memdesc:a6500e67cc29b3fe51bc40930d97d0ac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">sort the blocks in each column  <a href="#a6500e67cc29b3fe51bc40930d97d0ac5">More...</a><br /></td></tr>
<tr class="separator:a6500e67cc29b3fe51bc40930d97d0ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaeeb7ad0ba28f37dba85601882806f1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#abaeeb7ad0ba28f37dba85601882806f1">SparseBlockMatrixCCS</a> (const std::vector&lt; int &gt; &amp;rowIndices, const std::vector&lt; int &gt; &amp;colIndices)</td></tr>
<tr class="separator:abaeeb7ad0ba28f37dba85601882806f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ab6b173607380a367cc1cd67442c1c3e2"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a4fc5dfe0a9ff9bd62065ca4b17f25bc1">SparseColumn</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#ab6b173607380a367cc1cd67442c1c3e2">_blockCols</a></td></tr>
<tr class="memdesc:ab6b173607380a367cc1cd67442c1c3e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">the matrices stored in CCS order  <a href="#ab6b173607380a367cc1cd67442c1c3e2">More...</a><br /></td></tr>
<tr class="separator:ab6b173607380a367cc1cd67442c1c3e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae31426bfb6b31bd0fd72de2e18dd5a35"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#ae31426bfb6b31bd0fd72de2e18dd5a35">_colBlockIndices</a></td></tr>
<tr class="memdesc:ae31426bfb6b31bd0fd72de2e18dd5a35"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of the indices of the blocks along the cols  <a href="#ae31426bfb6b31bd0fd72de2e18dd5a35">More...</a><br /></td></tr>
<tr class="separator:ae31426bfb6b31bd0fd72de2e18dd5a35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afabda9a2efe5ea9efb5a1e5312f6e307"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#afabda9a2efe5ea9efb5a1e5312f6e307">_rowBlockIndices</a></td></tr>
<tr class="memdesc:afabda9a2efe5ea9efb5a1e5312f6e307"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of the indices of the blocks along the rows.  <a href="#afabda9a2efe5ea9efb5a1e5312f6e307">More...</a><br /></td></tr>
<tr class="separator:afabda9a2efe5ea9efb5a1e5312f6e307"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class MatrixType&gt;<br />
class g2o::SparseBlockMatrixCCS&lt; MatrixType &gt;</h3>

<p>Sparse matrix which uses blocks. </p>
<p>This class is used as a const view on a <a class="el" href="classg2o_1_1_sparse_block_matrix.html" title="Sparse matrix which uses blocks. ">SparseBlockMatrix</a> which allows a faster iteration over the elements of the matrix. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a4fc5dfe0a9ff9bd62065ca4b17f25bc1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="structg2o_1_1_sparse_block_matrix_c_c_s_1_1_row_block.html">RowBlock</a>&gt; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::<a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a4fc5dfe0a9ff9bd62065ca4b17f25bc1">SparseColumn</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a41ea1c8c9d94a25544903ae8345c0354"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef MatrixType <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::<a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a41ea1c8c9d94a25544903ae8345c0354">SparseMatrixBlock</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>this is the type of the elementary block, it is an Eigen::Matrix. </p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="abaeeb7ad0ba28f37dba85601882806f1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::<a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">SparseBlockMatrixCCS</a> </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>rowIndices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>colIndices</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a30586863195a37c6ac87d7fb17376ee7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;<a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a4fc5dfe0a9ff9bd62065ca4b17f25bc1">SparseColumn</a>&gt;&amp; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::blockCols </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the block matrices per block-column </p>

</div>
</div>
<a id="a5a9ef3cd8399a335edec8b7e934192b8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a4fc5dfe0a9ff9bd62065ca4b17f25bc1">SparseColumn</a>&gt;&amp; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::blockCols </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a6b25e7158b6d546920161db15d279d67"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::colBaseOfBlock </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>where does the col at block-col r start? </p>

</div>
</div>
<a id="adfc832a66dc5437ebb2d820b0a1104b9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;int&gt;&amp; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::colBlockIndices </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>indices of the column blocks </p>

</div>
</div>
<a id="a52c6a8fec1da43ee12f74b4704ee470f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::cols </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>columns of the matrix </p>

</div>
</div>
<a id="a3c466f15cdac837586e156c0f2655471"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::colsOfBlock </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>how many cols does the block at block-col c has? </p>

</div>
</div>
<a id="a1751f9966ed8ab54d5a2942388407261"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::fillCCS </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>Cp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>Ci</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>Cx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>upperTriangle</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>fill the CCS arrays of a matrix, arrays have to be allocated beforehand </p>

</div>
</div>
<a id="a6bb0a7087552ec2d777c64de43d955f1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::fillCCS </td>
          <td>(</td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>Cx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>upperTriangle</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>fill the CCS arrays of a matrix, arrays have to be allocated beforehand. </p>
<p>This function only writes the values and assumes that column and row structures have already been written. </p>

</div>
</div>
<a id="ade50ae61556e057549a64962b55ec194"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::rightMultiply </td>
          <td>(</td>
          <td class="paramtype">double *&amp;&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aa687d275090226a00f2685d66d134fcd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::rowBaseOfBlock </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>where does the row at block-row r start? </p>

</div>
</div>
<a id="aafbd3a59409bcf2d518cda71d8a33229"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;int&gt;&amp; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::rowBlockIndices </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>indices of the row blocks </p>

</div>
</div>
<a id="ad98ce4c84411c9982b06a025ad94ce57"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::rows </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>rows of the matrix </p>

</div>
</div>
<a id="a02af79eca0a8b405087947a733b0140c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::rowsOfBlock </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>how many rows does the block at block-row r has? </p>

</div>
</div>
<a id="a6500e67cc29b3fe51bc40930d97d0ac5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::sortColumns </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>sort the blocks in each column </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ab6b173607380a367cc1cd67442c1c3e2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html#a4fc5dfe0a9ff9bd62065ca4b17f25bc1">SparseColumn</a>&gt; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::_blockCols</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the matrices stored in CCS order </p>

</div>
</div>
<a id="ae31426bfb6b31bd0fd72de2e18dd5a35"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;int&gt;&amp; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::_colBlockIndices</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>vector of the indices of the blocks along the cols </p>

</div>
</div>
<a id="afabda9a2efe5ea9efb5a1e5312f6e307"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MatrixType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;int&gt;&amp; <a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">g2o::SparseBlockMatrixCCS</a>&lt; MatrixType &gt;::_rowBlockIndices</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>vector of the indices of the blocks along the rows. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/alejandro/Desarrollo eclipse/os1/Thirdparty/g2o/g2o/core/<a class="el" href="sparse__block__matrix__ccs_8h_source.html">sparse_block_matrix_ccs.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceg2o.html">g2o</a></li><li class="navelem"><a class="el" href="classg2o_1_1_sparse_block_matrix_c_c_s.html">SparseBlockMatrixCCS</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>
  </ul>
</div>
</body>
</html>
